package net.biancheng.mapper;

import net.biancheng.bean.SysRoleMenu;

import java.util.List;

/**
 * 角色与菜单权限关联Mapper接口
 * 
 * @author lb
 * @date 2024-01-12
 */
public interface SysRoleMenuMapper 
{

    /**
     * 查询角色关联的菜单ID
     *
     * @param roleId
     * @return
     */
    public List<Long> selectMenuIdListByRoleId(Long roleId);

    /**
     * 查询菜单是否已关联角色
     * 
     * @param menuId 菜单ID
     * @return 角色与菜单关联数量
     */
    public int checkMenuExistRole(Long menuId);

    /**
     * 新增角色与菜单权限关联
     * 
     * @param sysRoleMenu 角色与菜单权限关联
     * @return 结果
     */
    public int insertSysRoleMenu(SysRoleMenu sysRoleMenu);

    /**
     * 批量新增角色与菜单权限关联
     *
     * @param list
     * @return
     */
    public int batchInsertSysRoleMenu(List<SysRoleMenu> list);

    /**
     * 根据角色删除菜单权限关联
     * 
     * @param roleId 角色ID
     * @return 结果
     */
    public int deleteSysRoleMenuByRoleId(Long roleId);

    /**
     * 批量删除角色与菜单权限关联
     * 
     * @param roleIds 角色ID集合
     * @return 结果
     */
    public int deleteSysRoleMenuByRoleIds(Long[] roleIds);
}
